<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!-- Copyright 1997 The Open Group, All Rights Reserved -->
<title>utime</title>
</head><body bgcolor=white>
<center>
<font size=2>
The Single UNIX &reg; Specification, Version 2<br>
Copyright &copy; 1997 The Open Group

</font></center><hr size=2 noshade>
<h4><a name = "tag_000_010_313">&nbsp;</a>NAME</h4><blockquote>
utime - set file access and modification times
</blockquote><h4><a name = "tag_000_010_314">&nbsp;</a>SYNOPSIS</h4><blockquote>
<pre><code>

#include &lt;<a href="systypes.h.html">sys/types.h</a>&gt;
#include &lt;<a href="utime.h.html">utime.h</a>&gt;

int utime(const char *<i>path</i>, const struct utimbuf *<i>times</i>);
</code>
</pre>
</blockquote><h4><a name = "tag_000_010_315">&nbsp;</a>DESCRIPTION</h4><blockquote>
The
<i>utime()</i>
function sets the access and modification times of the file named by the
<i>path</i>
argument.
<p>
If
<i>times</i>
is a null pointer,
the access and modification times of the file are set
to the current time.
The effective user ID
of the process must match the owner of the file, or the
process must have write permission to the file or have
appropriate privileges, to use
<i>utime()</i>
in this manner.
<p>
If
<i>times</i>
is not
a null pointer,
<i>times</i>
is interpreted as a pointer to a
<b>utimbuf</b>
structure and
the access and modification times are set to the values contained in
the designated structure.
Only a process with effective user ID equal to the user ID of the file
or a process with appropriate privileges may use
<i>utime()</i>
this way.
<p>
The
<b>utimbuf</b>
structure is defined by the header
<i><a href="utime.h.html">&lt;utime.h&gt;</a></i>.
The times in the structure
<b>utimbuf</b>
are measured in seconds since the Epoch.
<p>
Upon successful completion,
<i>utime()</i>
will mark the time of the last file status change, <b>st_ctime</b>,
to be updated, see
<i><a href="sysstat.h.html">&lt;sys/stat.h&gt;</a></i>.
</blockquote><h4><a name = "tag_000_010_316">&nbsp;</a>RETURN VALUE</h4><blockquote>
Upon successful completion, 0 is returned.  Otherwise, -1 is returned and
<i>errno</i>
is set to indicate the error, and the file times will not
be affected.
</blockquote><h4><a name = "tag_000_010_317">&nbsp;</a>ERRORS</h4><blockquote>
The
<i>utime()</i>
function will fail if:
<dl compact>

<dt>[EACCES]<dd>
Search permission is denied by a component of the path prefix; or
the <i>times</i> argument is a null pointer and the effective user ID of the
process does not match the owner of the file and write access is
denied.

<dt>[ELOOP]<dd>
Too many symbolic links were encountered in resolving <i>path</i>.

<dt>[ENAMETOOLONG]<dd>

The length of the
<i>path</i>
argument exceeds {PATH_MAX}
or a pathname component is longer than {NAME_MAX}.

<dt>[ENOENT]<dd>
A component of <i>path</i> does not name an existing file
or <i>path</i> is an empty string.

<dt>[ENOTDIR]<dd>
A component of the path prefix is not a directory.


<dt>[EPERM]<dd>
The <i>times</i> argument is not a null pointer and the calling process'
effective user ID has write access to the file but does not match
the owner of the file and the calling process does not have the
appropriate privileges.

<dt>[EROFS]<dd>
The file system containing the file is read-only.

</dl>
<p>
The
<i>utime()</i>
function may fail if:
<dl compact>

<dt>[ENAMETOOLONG]<dd>

Pathname resolution of a symbolic link produced an intermediate result whose
length exceeds {PATH_MAX}.

</dl>
</blockquote><h4><a name = "tag_000_010_318">&nbsp;</a>EXAMPLES</h4><blockquote>
None.
</blockquote><h4><a name = "tag_000_010_319">&nbsp;</a>APPLICATION USAGE</h4><blockquote>
None.
</blockquote><h4><a name = "tag_000_010_320">&nbsp;</a>FUTURE DIRECTIONS</h4><blockquote>
None.
</blockquote><h4><a name = "tag_000_010_321">&nbsp;</a>SEE ALSO</h4><blockquote>
<i><a href="systypes.h.html">&lt;sys/types.h&gt;</a></i>,
<i><a href="utime.h.html">&lt;utime.h&gt;</a></i>.
</blockquote><h4>DERIVATION</h4><blockquote>
Derived from Issue 1 of the SVID.
</blockquote><hr size=2 noshade>
<center><font size=2>
UNIX &reg; is a registered Trademark of The Open Group.<br>
Copyright &copy; 1997 The Open Group
<br> [ <a href="../index.html">Main Index</a> | <a href="../xshix.html">XSH</a> | <a href="../xcuix.html">XCU</a> | <a href="../xbdix.html">XBD</a> | <a href="../cursesix.html">XCURSES</a> | <a href="../xnsix.html">XNS</a> ]

</font></center><hr size=2 noshade>
</body></html>

